//#include <iostream>
//#include <string>
//#include <vector>
//#include <algorithm>
//using namespace std;
//
//struct Tries
//{
//	char c;
//	Tries* children[26];
//};
//
//bool isPrefix(string a, string b)
//{
//	int i = 0;
//	for (; i < a.length(); ++i)
//		if (a[i] != b[i])
//			break;
//
//	return i == a.length();
//}
//
//int main()
//{
//	int n, k;
//	cin >> n >> k;
//
//	vector<string> vs;
//	for (int i = 0; i < n; ++i)
//	{
//		string tmp;
//		cin >> tmp;
//
//		vs.push_back(tmp);
//	}
//
//	sort(vs.begin(), vs.end());
//
//	bool firstWin = false;
//	for (int i = 0; i < vs.size(); ++i)
//	{
//		if (vs[i].length() % 2)
//		{
//			// first win
//
//			// check next
//			if (i + 1 == vs.size() || !isPrefix(vs[i], vs[i + 1]))
//			{
//				firstWin = true;
//				break;
//			}
//		}
//	}
//
//	if (k % 2)
//	{
//		if (firstWin)
//			cout << "First" << endl;
//		else
//			cout << "Second" << endl;
//	}
//	else
//	{
//
//	}
//	
//}